package com.rainyun.rc.command;

import java.util.List;

public interface CmdFunc {
	
	@FunctionalInterface
	public interface CmdExec<Sender> {
		/**执行指令节点的业务>(执行者,参数集)*/
		public void excute(Sender sd,CmdArgs ca) throws Throwable;
	}
	
	@FunctionalInterface
	public interface TabExec<Sender> {
		/**获取补全数据源>(执行者,当前要补全的节点名称,参数集)*/
		public List<String> excute(Sender sd,String pathname,CmdArgs args);
	}
	
	@FunctionalInterface
	public interface CheckExec<Sender> {
		/**检查执行者条件>(执行者,参数集)*/
		public boolean check(Sender sd, CmdArgs args);
	}
}
